<?php
date_default_timezone_set('Europe/Kiev');
// Обработаем передаваемые скрипту переменные на тему безопасности и совместимости с
// работой в режиме register_globals
// ------------------------------------------------------------------------------------------------------
//
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Asia/Vladivostok');

        /** Include PHPExcel */


$_rvar = array('day','mon','year','day2','mon2','year2',
       'cDay','cMon','cYear','cDay2','cMon2','cYear2','cRows',
       'order','sortBy','type','co','int','toprint','incoming',
       'CityLine','MobLine','TrunkLine','NationalLine','cacheflush',
       'debug','newStatus','search','rows','page','export','lang',
       'color','baseOrder','diatype'
);
foreach($_rvar as $_rvar_name){
	if (!empty($_COOKIE[$_rvar_name])) {
		$$_rvar_name = translateHtml($_COOKIE[$_rvar_name]);
	} else if (!empty($_POST[$_rvar_name])) {
		$$_rvar_name = translateHtml($_POST[$_rvar_name]);
	} else if (!empty($_GET[$_rvar_name])) {
		$$_rvar_name = translateHtml($_GET[$_rvar_name]);
	}
}
if (isset($_COOKIE['num'])) {
	$num = translateHtml($_COOKIE['num']);
} else if (isset($_POST['num'])) {
	$num = translateHtml($_POST['num']);
} else if (isset($_GET['num'])) {
	$num = translateHtml($_GET['num']);
}

// Export
if($export=="excel") {
    require_once dirname(__FILE__) . '/../export/PHPExcel.php';

//    include("../include/export/2excel.php");
//    $expor_excel = new MID_SQLPARAExel;
}

// Load language
LanguageSetup($lang);

// Colors scheme
ColorSetup($color);

// Соединимся с SQL сервером
connect_to_db();
if (!checkpass()) {
    nopass();
}
if (!hasprivilege("access", false)) {
    nopass();      
}

// Опишем базовые переменные
// ----------------------------------------------------------------------------
//
if(empty($mon))$mon=date("m", mktime (0,0,0,date("m"),1,date("Y")));
if(empty($day))$day=date("d", mktime (0,0,0,date("m"),1,date("Y")));
if(empty($year))$year=date("Y", mktime (0,0,0,date("m"),1,date("Y")));
if(empty($mon2))$mon2=date("m", mktime (0,0,0,date("m")+1,0,date("Y")));
if(empty($day2))$day2=date("d", mktime (0,0,0,date("m")+1,0,date("Y")));
if(empty($year2))$year2=date("Y", mktime (0,0,0,date("m")+1,0,date("Y")));
if(!empty($newStatus)){
 setcookie("cMon","$mon",time() + 60*60,"/",$_SERVER["SERVER_NAME"]);
 setcookie("cDay","$day",time() + 60*60,"/",$_SERVER["SERVER_NAME"]);
 setcookie("cYear","$year",time() + 60*60,"/",$_SERVER["SERVER_NAME"]);
 setcookie("cMon2","$mon2",time() + 60*60,"/",$_SERVER["SERVER_NAME"]);
 setcookie("cDay2","$day2",time() + 60*60,"/",$_SERVER["SERVER_NAME"]);
 setcookie("cYear2","$year2",time() + 60*60,"/",$_SERVER["SERVER_NAME"]);
}else{
 if(!empty($cMon))	$mon = $cMon;
 if(!empty($cDay))	$day = $cDay;
 if(!empty($cYear))	$year = $cYear;
 if(!empty($cMon2))	$mon2 = $cMon2;
 if(!empty($cDay2))	$day2 = $cDay2;
 if(!empty($cYear2))	$year2 = $cYear2;
}

if(empty($type)) $type="OrgTlfAll"; //elseif(!empty($search)) $type="AllCalls";
if(empty($incoming)) $incoming="2";
if(empty($CityLine) || $CityLine!="1") $CityLine=0;
if(empty($TrunkLine) || $TrunkLine!="2") $TrunkLine=0;
if(empty($MobLine)|| $MobLine!="4") $MobLine=0;
if(empty($NationalLine) || $NationalLine!="8") $NationalLine=0;
if(empty($sortBy)) $sortBy="1";
if(!empty($cRows)) $rows = $cRows;
if(empty($rows)) $rows="100";
if(empty($page)) $page = 0;
if(!empty($baseOrder) && empty($order)) $order=$baseOrder;
if($order!="ASC") $order="DESC";
$additionalReq="";
$hideExcludes=FALSE;
if($CityLine==0 && $TrunkLine==0 && $MobLine==0 && $NationalLine==0) $hideExcludes=TRUE;
//if($cacheflush) $conn->CacheFlush();

// Опишем в массиве те модели АТС, которые имеют АОН.
$withAON = array('KX-TD1232','GD-320','');
$vhodjashij=$GUI_LANG['Incoming'];
$IfAON = $vhodjashij;
while(list ($key, $val) = each ($withAON)){
	if ($val=="$model"){
// Модель АТС описанная переменной $model; взята из конфигурационного файла
		$IfAON = $GUI_LANG['NotRecognized'];
		break;
	}
}


// Вычисление дополнения к SQL запросу в зависимости от направления звонков
// осуществяется посредством вызова математической функции.

$vectorReq=VectorOfCall(MathVector(0));

// Формируем запрос в зависимости от типа звонков: исходящие,
// входящие, или оба типа.
switch($incoming){
	case "1":
		$additionalEcho = $GUI_LANG['IncomingAndOutgoingCalls'];
		break;
	case "2":
		$additionalEcho = $GUI_LANG['OutgoingCalls'];
		$additionalReq.=" AND (cdr.daytime = '2')";
		break;
	case "3":
		$additionalEcho = $GUI_LANG['IncomingCalls'];
		$additionalReq.=" AND (cdr.daytime = '1')";
		break;
}

// Проверим привелегии пользователя
// ----------------------------------------------------------------------------

// Проверим, обображать ли для этого юзера всех абонентов.

if (!hasprivilege("allabonents", false)){
    $additionalReq.=" AND (cdr.createstation = '".$authrow['createstation']."')";
    $noAbonents = 1;
}

if(empty($from_date)) $from_date=sprintf("%04d-%02d-%02d 00:00:00",$year,$mon,$day);
if(empty($to_date)) $to_date=sprintf("%04d-%02d-%02d 23:59:59",$year2,$mon2,$day2); 

?>
